home *** CD-ROM | disk | FTP | other *** search
- >|Intro|HyperText|Electronic Book|Linear Presentation|Table of Contents|Index|<
-
- EB HyperText
- ============
-
-
- EB, the Electronic Book, is a simple ~topic oriented~
- hypertext ~viewing program~. Topics may contain links to
- other topics or programs. A topic may even reside in
- another hypertext file. The links appear as highlighted
- hot-spots which when activated by the viewer force a jump to
- the specified target topic or program. The viewer can of
- course backtrack over any jump, a process known as popping
- the hyperstack. Traditionally all literature has had a
- linear presentation scheme determined by the author.
- Hypertext has liberated the audience by allowing each to
- choose somewhat the order of presentation and the admission
- or omission of material. Hypertext pundits however have
- largely ignored the qualities of a book that allow its
- reader nonlinear access, namely the ~Table of Contents~ and
- ~Index~. EB incorporates both, hence the name Electronic
- Book.
-
- <|Authoring - Inlinks|Viewing HyperText|Authoring - Inlinks|Authoring - Inlinks|>
- >|Viewing HyperText|Usage|Commands|Help|Toggle Mono/Color|Toggle 25 - 43/50|<
-
-
- EB Hypertext Viewing
- ====================
-
-
- Usage: eb -m -ttopic pathname
-
-
- m optionally force monochrome display
- ttopic optional topic in hypertext file
- pathname optional hypertext file
-
-
- The following commands are available:
-
-
- F1 Help
- F3 Load new HyperText file
- F10, AltT ~Table of Contents~
- AltF10, AltI ~Index~
- CR Tranverse HyperLink
- AltF1, BACKSP Backtrack HyperLink
- F6 Toggle 25 - 43/50 lines
- ShiftF6 Toggle monochrome/color
- AltX Exit
-
- UpArr Line up
- DnArr Line down
- LArr Character left
- RArr Character right
- CtrlLArr Word left
- CtrlRArr Word right
- PgUp Page up
- PgDn Page down
- CtrlW Scroll up
- CtrlZ Scroll down
- CtrlPgUp First page of ~current topic~
- CtrlPgDn Last page of current topic
- Home Beginning of line
- End End of line
- CtrlHome Top of window
- CtrlEnd Bottom of window
-
- Tab Next ~hyperlink~
- ShiftTab Previous hyperlink
-
-
- Typing characters will take you to the first hyperlink
- that matches the prefix thus far typed. Typing any
- non-matching characters truncates the prefix to begin
- anew the process with the next character typed.
- <|Authoring - Inlinks|Authoring - Inlinks|Grammar - Explanation|Authoring - HyperLinks|>
- >|Authoring - Inlinks|Inlinks|256|topic|clue|HyperLinks|<
-
-
- EB HyperText Authoring
- ======================
-
-
- The EB hypertext system is designed to allow hypertext
- authoring with any ASCII editor and the rapid conversion of
- existing material to hypertext. Taking any existing text
- file you can embed topic/clue specifiers from which EB can
- automatically create a table of contents and index on reader
- demand. You can also embed ~hyperlink~ specifiers.
- Hyperlinks are highlighted text hot-spots that force jumps
- to other topics in any hypertext file or launch programs
- when choosen by your readers. When the modified text file
- is subsequently viewed with EB, the specifiers are invisible
- to the reader. Instead the reader is left with ~hypertext~,
- and the ability to instantly jump to the table of contents
- or index and subsequent topic, or across any hyperlink.
-
- Let's first see how to embed a new topic along with optional
- clues in your text.
-
- . >|topic|clue|clue|<
-
- The ">|" characters must appear at the start of a new line
- and the specifier must not extend pass the end of the line.
- Specifier lines are limited to 256 characters including the
- new line character. "Topic" is what ever text you want to
- appear in the table of contents. Topics appear in the table
- of contents in the same sequential order that they appear in
- the file. "Clue" is what ever text you want to appear in
- the index. The index is comprised of an alphabetical
- listing of topics and clues. From the table of contents or
- index, the reader can instantly jump to the entry's
- corresponding topic. You can supply as many clues as you
- want or none at all. Each new clue is introduced with the
- "|" character. The "|<" characters terminate the topic/clue
- specifier. The topic begins on the next line after the "|<"
- characters. The topic/clue specifier is formally called the
- ~inlinks specifier~.
-
- <|Authoring - HyperLinks|Intro|Grammar - Explanation|>
- >|Authoring - HyperLinks|launch|tilde|diacritical|highlighting|Outlinks|<
-
- Each hyperlink is specified in two parts, a launch and a
- target. The ~launch~ is the highlighted text hot-spot in your
- original text and is delimited with the tilde diacritical
- mark. A corresponding ~target~ must appear in the ~outlinks~
- specifier. Suppose you want the word "time" as in:
-
- Now is the time for all good authors ...
-
- is to be a launch. Simply bracket the word "time" with the
- tilde diacritical mark:
-
- Now is the ~~time~~ for all good authors ...
-
- The first tilde turns on highlighting while the second turns
- it off. The tildes are invisible when viewed with EB. This
- implementation of the launch allows the hypertext to appear
- in nearly the same spatial layout when authoring as when
- viewing. More than one launch may appear on the same line
- but none may wrap to the next line. Place two tildes
- immediately adjacent to each other if you want a tilde to
- appear as visible text instead of indicating the beginning
- or end of a launch. Extending our example alittle:
-
- . >|Authoring|<
-
- Now is the ~~time~~ for all good authors ...
-
- . <|DOS|>
-
- The ~inlinks~ specifier indicates the start of a new ~topic~
- called "Authoring." No ~clues~ have been specified. The
- context of this topic includes the one launch indicating
- that the word "time" is to be highlighted. The outlinks
- specifier terminates the topic and contains the target,
- "DOS", which the reader will be taken to if the "time"
- hyperlink is choosen. The outlinks specifier must also
- appear at the start of a new line and not extend beyond the
- end of the line.
-
- Let's extend our example again:
-
- . >|Authoring|<
-
- Now is the ~~time~~ for all good authors to turn their
- ordinary text into ~~hypertext!~~
-
- . <|DOS|hyped text|>
-
- A second launch and corresponding target has been added,
- namely "hypertext!" and its target "hyped text".
- <|Grammar - Explanation|Grammar - Explanation|Grammar - Explanation|Grammar - Explanation|Authoring - Inlinks|Authoring - Inlinks|>
- >|Authoring - Example|<
-
-
- Now for the whole example:
-
-
- . >|Authoring|<
-
- Now is the ~~time~~ for all good authors to turn their
- ordinary text into ~~hypertext!~~
-
- . <|DOS|hyped text|>
-
- . >|Hyped Text|<
-
- Hyped text is ordinary text with embedded hypertext
- specifiers.
-
- . <||>
-
-
- . >|DOS|<
-
- Set DOS
-
- ~~time~~ ~~date~~
-
- ~~Other DOS Commands~~
-
- . <|^?command.com /ctime|^>date|^dos.htx|>
-
-
- In this example there are three topics: "Authoring", "Hyped
- Text", and "DOS". ~Nameless topics~ are will be unreachable
- if more one such topic exists in the file. ~Nameless clues~
- serve to other purpose than putting more than one entry into
- the index for a given topic. "Authoring" is the default
- topic for the file since it appears first. The "Hyped Text"
- topic doesn't have any hyperlinks. Notice that the target
- pairing of "hyped text" with the topic "Hyped Text" is case
- insensitive! The "DOS" topic has three ~launches~ all with
- far targets. The first target is an spawn call to the DOS
- command processor. The second target demonstrates the
- preferred way to make a system call. The last target is the
- default (first) topic in the hypertext file entitled
- "dos.htx". Spawn calls return immediately upon termination
- to the page that spawned them. System calls ask the user to
- "Press any key ..." before returning. Besure to read the
- ~format reference section~ for complete details!
- <|Grammar - Rules|Authoring - Inlinks|Authoring - HyperLinks|Grammar - Rules|>
- >|Grammar - Rules|production|terminals|options|+|*|<
-
-
- EB HyperText Grammar
- ====================
-
-
- The production rules below outline the grammar recognized by
- the Electronic Book. ~Explanations~ of the rules follow
- immediately after. Applying the production rules you can
- construct the format schema of any hypertext file readible
- by EB. The name of the rule appears to the left and its
- production to the right. If the production contains rules
- these rules must likewise be expanded until all rules are
- replace with terminal symbols. Rule names are capitalized
- while terminals begin with lower case.
-
- For example, starting with "HyperFile", expanding the rule
- provides for a file of optional comments followed by one or
- more "HyperTopics" which may be separated by additional
- comments. Optional components of the production are
- enclosed in brackets, i.e. []. Items considered together
- are enclosed in braces, i.e. {}. The "+" means one or more
- while the "*" means zero or more. The "|" symbol means
- either that which preceeds or that which follows but not
- both. If any of these special symbols are preceeded by a
- "\" then it is to be taken literally thus devoid of any
- special meaning. It's really not as hard as it may seem at
- first glance. Try your hand at reading the rules and their
- explanations. It will be easier to understand if you read
- the ~section on authoring~ first.
-
-
- HyperFile: [comments]{HyperTopic[comments]}+
-
- HyperTopic: Inlinks Context Outlinks
-
- Inlinks: >\|topic{\|clue}*\|<
-
- Context: [text]{Launch[text]}*
-
- Outlinks: <\|[Target{\|Target}*]\|>
-
- Launch: ~~any text~~
-
- Target: Near Target | Far Target
-
- Near Target: topic |
- default
-
- Far Target: topic^HyperFileName |
- default^HyperFileName |
- ignore^>system call |
- ignore^?spawn call
-
- HyperFileName: pathname.ext |
- pathname |
- pathname.
- <|Grammar - Explanation|Authoring - Inlinks|>
- >|Grammar - Explanation|<
-
-
- A HyperFile contains one or more HyperTopics. Any text not
- residing within a HyperTopic is considered a comment and is
- not visible to the reader.
-
- A HyperTopic is comprised of an inlinks specifier, context
- of the topic, and outlinks specifier. Only the context is
- visible to the reader.
-
- An ~Inlinks specifier~ contains topic and clue strings which
- must not contain the '|', '>', or '<' characters.
- Furthermore the topic string may not contain the "^"
- character. One or more clues are optional. Only the first
- nameless topic in a file will be reachable from the Table of
- Contents, Index, or via a hyper-jump. Nameless clues serve
- no other purpose than creating more than one entry in the
- Index for a given topic.
-
- The Context contains all visible text for the topic and any
- number of hyperlink launches.
-
- An ~Outlinks specifier~ contains any number of targets for the
- launches within the Context. The first target corresponds to
- the first launch, the second target to the second launch,
- and so on. If a launch doesn't have a corresponding target,
- then the launch is aborted if attempted. The target strings
- must not contain the '|', '>', or '<' characters.
-
- A Launch is delimited with the tilde diacritical mark, i.e.
- ~~. The offset text will appear highlighted. Choosing the
- launch takes the reader to the target, if successful
- otherwise the launch is aborted. Two tildes appearing
- together in the text will appear as one visible tilde to the
- reader and will not be interpretted as a launch delimiter.
-
- A Target can be either near or far.
-
- A Near target specifies a topic within the current hypertext
- file. The empty string indicates the default topic which is
- considered always to be the first topic of a hypertext file.
-
- A Far Target specifies either a (default) topic in another
- specified hypertext file or an operating system/spawn call,
- in which case any topic string is simply ignored.
-
- The HyperFileName is any legal pathname. When the file
- extension is absent it is assume to be ".htx". No extension
- can be specified by appending a period to the pathname.
-
- Notes: In this first version of EB a restriction has been
- placed on the both inlinks and outlinks specifiers to begin
- at the start of a new line and not extend pass the end of
- that line. The format specification above doesn't require
- this - it is simply to make the parsing of the file faster
- and easier this first time around. Likewise, launches are
- required to appear on one line and lines are limited to 256
- characters. The grammar specification has been deliberately
- designed to facilitate the adding of screen formating
- information and application language capabilities, e.g.
- variables, logic flow and I/O masks (both user and file
- interface).
- <|Authoring - Inlinks|Authoring - HyperLinks|>
- >|Registration|PSW|FlexList|Austin Code Works|Freeware|Shareware|<
-
-
-
- EB HyperText Registration
- =========================
-
-
- ~EB~ is meant to be primarily a demonstration of how easy it
- is to use the FlexList programming tool. EB source code is
- included with FlexList. Those portions not tightly coupled
- to FlexList are also available as Freeware. EB was coded
- entirely without cutting any linked list code, FlexList did
- it all. This version of EB.EXE is freeware, meaning that
- there is no fee for using EB.EXE, but you must leave my
- copyright notice intact! Shareware/Freeware distributors
- are also free to distribute it. Commercial venders may
- bundle EB.EXE (unmodified) with their software without cost
- but in any literature mentioning it they must give proper
- credit to PSW! Licensing is required for other uses, e.g.
- you must register FlexList to incorporate components of EB
- into your software.
-
-
- FlexList II ANSI && K&R C $79.95
- FlexList II C++ $79.95
-
- * Ready-to-run C/C++ linked lists.
- * Hybrid structure: stack, queue, list, array.
- * Stores Heterogeneous/homogeneous data.
- * Accessible by value, reference or node.
- * Source is also broken in separate files along
- with makefile for easy library building.
- * 100+ page manual
-
-
- FlexList is also available at a discount from:
-
- The Austin Code Works
- 11100 Leafwood Lane
- Austin, Texas 78750-3587 USA
-
- Voice: (512) 258-0785
- FAX: (512) 258-1342
- E-mail: info@acw.com
-
-
-
- Thanks again for taking a look at EB and how easy it is to
- use FlexList in building applications! I hope you can use
- it in your shareware/commercial efforts to supply hypertext
- manuals to your customers. Your comments, suggestions, and
- questions are always welcome.
-
-
- John W. Small
- PSW / Power SoftWare
- P.O. Box 10072
- McLean, VA 22102 8072 USA
-
- Voice: (703) 759-3838
- CIS: 73757,2233
-
-
- Happy Authoring!
-
- John
- <|Intro|>